package request

// OrderRequest 创建订单请求
type OrderRequest struct {
	UserID      int64               `json:"userId" binding:"required"`     // 用户ID
	TotalAmount float64             `json:"totalAmount"`                   // 订单总金额
	Items       []OrderItemRequest  `json:"items" binding:"required,dive"` // 订单项
	Address     OrderAddressRequest `json:"address" binding:"required"`    // 收货地址
}

// OrderItemRequest 订单项请求
type OrderItemRequest struct {
	ProductID       int64   `json:"productId" binding:"required"`   // 商品ID
	ProductName     string  `json:"productName" binding:"required"` // 商品名称
	ProductImageURL string  `json:"productImageUrl"`                // 商品图片
	SkuID           *int64  `json:"skuId"`                          // SKU ID
	SkuName         *string `json:"skuName"`                        // SKU 名称
	SkuType         int     `json:"skuType"`                        // 商品类型
	Num             float64 `json:"num" binding:"required,gt=0"`    // 数量
	Price           float64 `json:"price" binding:"required,gt=0"`  // 单价
}

// OrderAddressRequest 订单收货地址请求
type OrderAddressRequest struct {
	ReceiverName    string `json:"receiverName" binding:"required"`    // 收货人姓名
	ReceiverPhone   string `json:"receiverPhone" binding:"required"`   // 收货人电话
	ReceiverAddress string `json:"receiverAddress" binding:"required"` // 收货地址
}
